package com.pandora.credit.mongo.service;

import com.pandora.credit.dto.response.DetailResponse;
import com.pandora.credit.mongo.entity.MongoPandoraCredit;

import java.util.List;

/**
 * @author developer
 */
public interface MongoPandoraCreditService {

    /**
     * queryByIds
     * @param ids ids
     * @return MongoPandoraCreditList
     */
    List<MongoPandoraCredit> queryByIds(List<Long> ids);

    /**
     * queryByType
     * @param type type
     * @return MongoPandoraCredit
     */
    MongoPandoraCredit queryByType(int type);

    /**
     * queryByTypeIds
     * @param type type
     * @param ids ids
     * @return MongoPandoraCreditList
     */
    List<MongoPandoraCredit> queryByTypeIds(int type, List<Long> ids);

    /**
     * selectById
     * @param id id
     * @return MongoPandoraCredit
     */
    MongoPandoraCredit selectById(long id);

    /**
     * doGetDetail
     * @param authorizationToken authorizationToken
     * @param objId objId
     * @return DetailResponse
     */
    DetailResponse doGetDetail(String authorizationToken, long objId);
}
